Machine Learning - L5 Notes

Contents

  1. 1. 前言
  2. 2. Classification: Probabilistic Generative Model (L5)
    1. 2.1. Regression
    2. 2.2. 其他方法
    3. 2.3. Generative model
      1. 2.3.1. Gaussian distribution
      2. 2.3.2. Maximum Likelihood
    4. 2.4. 例子
      1. 2.4.1. 改進成 linear model
      2. 2.4.2. 結論
    5. 2.5. Probability Distribution
    6. 2.6. Posterior Probability

前言

特別說明一下,這一篇實在是寫得很無力,很多地方是一頭霧水的…
只能開學再問問了。

Classification: Probabilistic Generative Model (L5)

很多地方都被我跳過了….

Regression

如果把 Classification 直接用 Regression 來解,有可能會發生:

我們以二元分類為例,output 接近 1 就是第一類 ; output 接近 -1 就是第二類。

5-7

從圖中可以看出綠色的線是較好的,但如果用 regression 下去學,它會產生紫色那條。
因為對於右下角那筆資料(第一類)而言,它們在綠線的情況下,是離 1 很遠的。而 Regression 會希望第一類的資料輸出越接近 1 越好。它會懲罰那些太正確的資料(>>1)。

也就是說 Regression 中定義 function 好壞的方式對分類來說是不適用的。
還有在多元分類的情況下,如果各類中間並沒有關係存在的話,結果也不會好。

其他方法

可以用下圖中的這種方法 。
而 loss function 就改成我們的 output 不符合 training data 的次數。

5-8

如何找到這最好的 function ,可以用如 Perceptron、SVM 等方法。但這邊我們先用機率的角度來解。

Generative model

把 class 1、2 看成兩個箱子,

5-9

我們只要可以算出圖中紅框中的數值,就能得知 $x$ 屬於各類的機率為何。

5-10

而這樣子的作法叫做 Generative Model ,原因是我們可以拿這個 model 來產生出 $x$ ,也就是可以算出某一個 $x$ 出現的機率,就能知道它的 distribution 。(式子在上圖的最下面)

我們可以假設所有的資料都是從 Gaussian distribution 取樣出來的,當前看到的 training data 只是取樣的冰山一角,

5-13

所以現在要做的就是,根據現有的資料來找出這個 Gaussian distribution。

Gaussian distribution

Input 是 vector $x$(寶可夢的各項素值)。output 是 $x$ 產生的機率(機率密度)。
主要取決於 mean $\mu$ 和 covariance matrix $\Sigma$ 。

5-14

接著就是要用這些資料算出 $\mu$ 和 $\Sigma$ ,
這樣當我們有一個新的 $x$ 時,就能代進 Gaussian distribution 的式子裡,求出這個 $x$ 被取樣出來的機率了。

5-16

Maximum Likelihood

任何一個 Gaussian (不同的 $\mu$ 和 $\Sigma$ )都有可能產生出我們現在的這些資料,只是有些點機率低,有些高而已。

因此不同的 Gaussian 產生出現在這些資料的機率是不一樣的 => different likelihood

5-17

這裡的 Likelihood function ( $L(\mu,\Sigma)$ ) ,輸入是 Gaussian 的 $\mu$ 和 $\Sigma$ ,輸出則是 Gaussian 「產生這些資料的機率」 為何。(圖中的例子來看,資料就是那79個點)
而這邊產生出各個點的機率是獨立的,所以 $L(\mu,\Sigma)$ 就是將產生各個點的機率 $f_{\mu,\Sigma}(x)$ 相乘起來。

現在我們要找的就是一組 $\mu,\Sigma$ ,使 $L(\mu,\Sigma)$ 的值為最大,也就是使這個 Gaussian 產生出資料中 79 個點的 likelihood 是最大的( 產生這些資料的機率最高的一組參數 ) ,
寫作 $({\mu}^*, \Sigma^*)$。 => maximum likelihood
我們就把這個 Gaussian 當作是產生出我們資料的 Gaussian。

${\mu}^*$ 就會是這79個 $x^n$ 的 平均
$\Sigma^*$ 則是它們的 共變異數(Covariance)。

5-18

這邊補充說明一下:

  • 機率( Probability )

    Probability is used before data are available to describe possible future outcomes given a fixed value for the parameter (or parameter vector). - wikipedia

    在已知一些參數的情況下,用來預測接下來得到的 結果 的函數。

  • 似然性( Likelihood ) (Likelihood function)

    Likelihood is used after data are available to describe a function of a parameter (or parameter vector) for a given outcome. - wikipedia

    在已知某些觀測所得到的結果時,用來估計相關 參數 的函數。

例子

(水系和一般系的寶可夢)

先求出它們的 $\mu$ 和 $\Sigma$。

5-19

接著就可以來看某一個 $x$ 屬於各類的機率了。

5-11


5-20

(>0.5 就是水系)
然而就算增加到 7 個 feature ,其正確率仍舊不高。

5-21

改進成 linear model

而這是因為在不同 class 下,我們給它不同的參數,會導致 model 太複雜而 variance 過高,容易 overfitting
所以我們可以給這兩個 class 同一個 covariance matrix ,這樣就能減少它的參數。(仍舊是不同 Gaussian ,$\mu$ 不同)

可以把式子寫成這樣:

$\mu$ 的算法和原本一樣,把某系的 x 加起來做平均。
當是水系時就用 $\mu^1$,一般系就用 $\mu^2$,(不是全部乘在一起)。

$\Sigma$ 的就要改成圖片中那樣。

5-23

使用同一個 covariance matrix ,會使分類的線變成一直線,我們稱之為 linear model。
再把其他 feature 考慮進去後,正確率就有大幅提升了。

5-24

結論

最後統整出來的步驟就是:

5-25

Probability Distribution

要用甚麼樣的機率模型取決於資料,例如是 binary feature 的話,我們就可以用 Bernoulli distribution

如果我們假設的是所有維度的 feature 都是 獨立 的,這樣就是 Naive Bayes Classifier
在 $C_1$ 中 $x$ 產生的機率( $P(x|C_1)$ ),就可以寫成各項 feature 在 $C_1$ 中出現的機率相乘。

5-26

(在寶可夢的例子中,這樣的方法太過簡單(bias 較大),準確率不高)

Posterior Probability

(Posterior Probability: 基本上就是 條件機率)

最後求出來的 $P(C_1|x)$ ,x 屬於某類的機率,
就會是將 $w \cdot x + b$ 代進 sigmoid function 後的結果。
(推導過程省略)

5-27

$z = w \cdot x + b$

5-33

在 Generative model 中,我們做的是先用某些方法找到式子中的各項參數,在代進去求機率。(上面小節)

那如果試著直接找 $w,b$ 呢?那就是下一章節要講的 logistic regression。